home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / JComponent$ReadObjectCallback.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  1.8 KB  |  65 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.io.InvalidObjectException;
  6. import java.io.ObjectInputStream;
  7. import java.io.ObjectInputValidation;
  8. import java.util.Vector;
  9.  
  10. class JComponent$ReadObjectCallback implements ObjectInputValidation {
  11.    // $FF: synthetic field
  12.    private final JComponent this$0;
  13.    private final Vector roots;
  14.    private final ObjectInputStream inputStream;
  15.  
  16.    JComponent$ReadObjectCallback(JComponent var1, ObjectInputStream var2) throws Exception {
  17.       this.this$0 = var1;
  18.       this.roots = new Vector(1);
  19.       this.inputStream = var2;
  20.       var2.registerValidation(this, 0);
  21.    }
  22.  
  23.    // $FF: synthetic method
  24.    static void access$0(JComponent$ReadObjectCallback var0, JComponent var1) {
  25.       var0.registerComponent(var1);
  26.    }
  27.  
  28.    private void registerComponent(JComponent var1) {
  29.       for(int var2 = 0; var2 < this.roots.size(); ++var2) {
  30.          JComponent var3 = (JComponent)this.roots.elementAt(var2);
  31.  
  32.          for(Object var4 = var1; var4 != null; var4 = ((Component)var4).getParent()) {
  33.             if (var4 == var3) {
  34.                return;
  35.             }
  36.          }
  37.       }
  38.  
  39.       for(int var6 = 0; var6 < this.roots.size(); ++var6) {
  40.          JComponent var7 = (JComponent)this.roots.elementAt(var6);
  41.  
  42.          for(Container var5 = ((Component)var7).getParent(); var5 != null; var5 = ((Component)var5).getParent()) {
  43.             if (var5 == var1) {
  44.                this.roots.removeElementAt(var6--);
  45.                break;
  46.             }
  47.          }
  48.       }
  49.  
  50.       this.roots.addElement(var1);
  51.    }
  52.  
  53.    public void validateObject() throws InvalidObjectException {
  54.       try {
  55.          for(int var3 = 0; var3 < this.roots.size(); ++var3) {
  56.             JComponent var4 = (JComponent)this.roots.elementAt(var3);
  57.             SwingUtilities.updateComponentTreeUI(var4);
  58.          }
  59.       } finally {
  60.          JComponent.access$0().remove(this.inputStream);
  61.       }
  62.  
  63.    }
  64. }
  65.